Fix fullscreen resizing of multiple frames on MS-Windows.
authorEli Zaretskii <eliz@gnu.org>
Sat, 23 Mar 2013 19:40:43 +0000 (21:40 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 23 Mar 2013 19:40:43 +0000 (21:40 +0200)
commitfd8cabe225ec40e23bda89773fe933b03f1989c0
treee26f4e47d070c71671aaa77ea110dc943a03bf3f
parent93490665b901d79ca4892af344fea626aad864d4
Fix fullscreen resizing of multiple frames on MS-Windows.

 src/w32term.h (struct w32_output): New members normal_width,
 normal_height, normal_top, normal_left, and prev_fsmode.
 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
 (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
 members of a frame.
 src/w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
 FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
 variables, to save and restore frame dimensions.  Use
 FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
 after returning from a 'fullscreen' configuration.  use
 SendMessage instead of PostMessage to send the SC_RESTORE message,
 to avoid races between the main thread and the input thread.
src/ChangeLog
src/w32term.c
src/w32term.h